package  com.dsj{

import com.dsj.scala.Person

object Test {
  def main(args: Array[String]): Unit = {
    // ⽗ 包要访问 ⼦ 包的内容时 ，需要import 对应的类等
    val person = new Person
    println(person.name)
  }
}

/**
 *  包对象后⾯详解
 *
 *  说明
 * 1.
 *  在包中直接写⽅法，或者定义变量，就错误
 *  ==>
 *  使⽤包对象的技术来解决
 * 2. package object scala
 *  表示创建⼀个包对象
 *  scala,
 *  他是
 *  com.dsj.scala
 *  这个
 *  包对应的包对象
 * 3.
 *  每⼀个包都可以有⼀个包对象
 * 4.
 *  包对象的名字需要和⼦包⼀样
 * 5.
 *  在包对象中可以定义变量，⽅法
 * 6.
 *  在包对象中定义的变量和⽅法，就可以在对应的包中使⽤
 * 7.
 *  在底层这个包对象会⽣成两个类
 *  package.class
 *  和
 *  package$.class
 */
package object scala {
  var name = "king"

  def sayHiv(): Unit = {
    println("package object scala sayHI~")
  }
}
package scala {
  class Person {
    val name: String = "mm"

    def eat(): Unit = {
      println(this.name + " 吃吃吃 ~~~")
    }
  }
}
}
